home *** CD-ROM | disk | FTP | other *** search
/ Mac Mania 2 / MacMania 2.toast / Demo's / Tools&Utilities / Updaters / Symantec C++⁄MPW 6.0.1 / SCpp 6.0.1 Update / SCIncludes / MediaHandlers.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-01-27  |  5.4 KB  |  154 lines  |  [TEXT/MPS ]

  1. /************************************************************
  2.  
  3. Created: Tuesday, October 13, 1992
  4.  MediaHandlers.h
  5.  C Interface to the Macintosh Libraries
  6.  
  7.  
  8.  Copyright Apple Computer, Inc. 1992
  9.  All rights reserved
  10.  
  11. ************************************************************/
  12.  
  13. #ifndef __MEDIAHANDLERS__
  14. #define __MEDIAHANDLERS__
  15.  
  16. #include <Movies.h>
  17.  
  18. enum {
  19.     handlerHasSpatial = 1<<0,
  20.     handlerCanClip = 1<<1,
  21.     handlerCanMatte = 1<<2,
  22.     handlerCanTransferMode = 1<<3,
  23.     handlerNeedsBuffer = 1<<4,
  24.     handlerNoIdle = 1<<5,
  25.     handlerNoScheduler = 1<<6,
  26.     handlerWantsTime = 1<<7,
  27.     handlerCGrafPortOnly = 1<<8
  28. };
  29.  
  30. enum {
  31.     mMustDraw = 1<<3,
  32.     mAtEnd = 1<<4,
  33.     mPreflightDraw = 1<<5
  34. };
  35.     
  36. enum {
  37.     mDidDraw = 1<<0,
  38.     mNeedsToDraw = 1<<2
  39. };
  40.  
  41. typedef struct {
  42.     short version;
  43.     Movie theMovie;
  44.     Track theTrack;
  45.     Media theMedia;
  46.     TimeScale movieScale;
  47.     TimeScale mediaScale;
  48.     TimeValue movieDuration;
  49.     TimeValue trackDuration;
  50.     TimeValue mediaDuration;
  51.     Fixed effectiveRate;
  52.     TimeBase timeBase;
  53.     short volume;
  54.     Fixed width;
  55.     Fixed height;
  56.     MatrixRecord trackMovieMatrix;
  57.     CGrafPtr moviePort;
  58.     GDHandle movieGD;
  59.     PixMapHandle trackMatte;
  60. } GetMovieCompleteParams;
  61.  
  62. enum {
  63.     kMediaInitializeSelect = 0x501,
  64.     kMediaSetHandlerCapabilitiesSelect = 0x502,
  65.     kMediaIdleSelect = 0x503,
  66.     kMediaGetMediaInfoSelect = 0x504,
  67.     kMediaPutMediaInfoSelect = 0x505,
  68.     kMediaSetActiveSelect = 0x506,
  69.     kMediaSetRateSelect = 0x507,
  70.     kMediaGGetStatusSelect = 0x508,
  71.     kMediaTrackEditedSelect = 0x509,
  72.     kMediaSetMediaTimeScaleSelect = 0x50A,
  73.     kMediaSetMovieTimeScaleSelect = 0x50B,
  74.     kMediaSetGWorldSelect = 0x50C,
  75.     kMediaSetDimensionsSelect = 0x50D,
  76.     kMediaSetClipSelect = 0x50E,
  77.     kMediaSetMatrixSelect = 0x50F,
  78.     kMediaGetTrackOpaqueSelect = 0x510,
  79.     kMediaSetGraphicsModeSelect = 0x511,
  80.     kMediaGetGraphicsModeSelect = 0x512,
  81.     kMediaGSetVolumeSelect = 0x513,
  82.     kMediaSetSoundBalanceSelect = 0x514,
  83.     kMediaGetSoundBalanceSelect = 0x515,
  84.     kMediaGetNextBoundsChangeSelect = 0x516,
  85.     kMediaGetSrcRgnSelect = 0x517,
  86.     kMediaPrerollSelect = 0x518,
  87.     kMediaSampleDescriptionChangedSelect = 0x519,
  88.     kMediaHasCharacteristic = 0x51A
  89. };
  90.  
  91. #ifdef __cplusplus
  92. extern "C" {
  93. #endif __cplusplus
  94.  
  95. pascal ComponentResult MediaInitialize (ComponentInstance ci, GetMovieCompleteParams *gmc) 
  96.     = {0x2F3C,0x4,0x501,0x7000,0xA82A};
  97. pascal ComponentResult MediaSetHandlerCapabilities (ComponentInstance ci, long flags, long flagsMask ) 
  98.     = {0x2F3C,0x8,0x502,0x7000,0xA82A};
  99. pascal ComponentResult MediaIdle (ComponentInstance ci, TimeValue atMediaTime, long flagsIn, long *flagsOut, const TimeRecord *movieTime) 
  100.     = {0x2F3C,0x10,0x503,0x7000,0xA82A};
  101. pascal ComponentResult MediaGetMediaInfo (ComponentInstance ci, Handle h ) 
  102.     = {0x2F3C,0x4,0x504,0x7000,0xA82A};
  103. pascal ComponentResult MediaPutMediaInfo (ComponentInstance ci, Handle h ) 
  104.     = {0x2F3C,0x4,0x505,0x7000,0xA82A};
  105. pascal ComponentResult MediaSetActive (ComponentInstance ci, Boolean enableMedia ) 
  106.     = {0x2F3C,0x2,0x506,0x7000,0xA82A};
  107. pascal ComponentResult MediaSetRate (ComponentInstance ci, Fixed rate ) 
  108.     = {0x2F3C,0x4,0x507,0x7000,0xA82A};
  109. pascal ComponentResult MediaGGetStatus (ComponentInstance ci, ComponentResult *statusErr ) 
  110.     = {0x2F3C,0x4,0x508,0x7000,0xA82A};
  111. pascal ComponentResult MediaTrackEdited (ComponentInstance ci ) 
  112.     = {0x2F3C,0x0,0x509,0x7000,0xA82A};
  113. pascal ComponentResult MediaSetMediaTimeScale (ComponentInstance ci, TimeScale newTimeScale ) 
  114.     = {0x2F3C,0x4,0x50A,0x7000,0xA82A};
  115. pascal ComponentResult MediaSetMovieTimeScale (ComponentInstance ci, TimeScale newTimeScale ) 
  116.     = {0x2F3C,0x4,0x50B,0x7000,0xA82A};
  117. pascal ComponentResult MediaSetGWorld (ComponentInstance ci, CGrafPtr aPort, GDHandle aGD) 
  118.     = {0x2F3C,0x8,0x50C,0x7000,0xA82A};
  119. pascal ComponentResult MediaSetDimensions (ComponentInstance ci, Fixed width, Fixed height) 
  120.     = {0x2F3C,0x8,0x50D,0x7000,0xA82A};
  121. pascal ComponentResult MediaSetClip (ComponentInstance ci, RgnHandle theClip) 
  122.     = {0x2F3C,0x4,0x50E,0x7000,0xA82A};
  123. pascal ComponentResult MediaSetMatrix (ComponentInstance ci, MatrixRecord *trackMovieMatrix) 
  124.     = {0x2F3C,0x4,0x50F,0x7000,0xA82A};
  125. pascal ComponentResult MediaGetTrackOpaque (ComponentInstance ci, Boolean *trackIsOpaque ) 
  126.     = {0x2F3C,0x4,0x510,0x7000,0xA82A};
  127. pascal ComponentResult MediaSetGraphicsMode (ComponentInstance ci, long mode, RGBColor *opColor ) 
  128.     = {0x2F3C,0x8,0x511,0x7000,0xA82A};
  129. pascal ComponentResult MediaGetGraphicsMode (ComponentInstance ci, long *mode, RGBColor *opColor ) 
  130.     = {0x2F3C,0x8,0x512,0x7000,0xA82A};
  131. pascal ComponentResult MediaGSetVolume (ComponentInstance ci, short volume ) 
  132.     = {0x2F3C,0x2,0x513,0x7000,0xA82A};
  133. pascal ComponentResult MediaSetSoundBalance (ComponentInstance ci, short balance) 
  134.     = {0x2F3C,0x2,0x514,0x7000,0xA82A};
  135. pascal ComponentResult MediaGetSoundBalance (ComponentInstance ci, short *balance ) 
  136.     = {0x2F3C,0x4,0x515,0x7000,0xA82A};
  137. pascal ComponentResult MediaGetNextBoundsChange (ComponentInstance ci, TimeValue *when ) 
  138.     = {0x2F3C,0x4,0x516,0x7000,0xA82A};
  139. pascal ComponentResult MediaGetSrcRgn (ComponentInstance ci, RgnHandle rgn, TimeValue atMediaTime ) 
  140.     = {0x2F3C,0x8,0x517,0x7000,0xA82A};
  141. pascal ComponentResult MediaPreroll (ComponentInstance ci, TimeValue time, Fixed rate ) 
  142.     = {0x2F3C,0x8,0x518,0x7000,0xA82A};
  143. pascal ComponentResult MediaSampleDescriptionChanged (ComponentInstance ci, long index )
  144.     = {0x2F3C,0x4,0x519,0x7000,0xA82A};
  145. pascal ComponentResult MediaHasCharacteristic (ComponentInstance ci, OSType characteristic, Boolean *hasIt )
  146.     = {0x2F3C,0x8,0x51A,0x7000,0xA82A};
  147.  
  148.  
  149. #ifdef __cplusplus
  150. }
  151. #endif __cplusplus
  152.  
  153. #endif __MEDIAHANDLERS__
  154.